home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / s390 / include / asm / hardirq.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.2 KB  |  52 lines

  1. /*
  2.  *  include/asm-s390/hardirq.h
  3.  *
  4.  *  S390 version
  5.  *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
  6.  *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
  7.  *               Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
  8.  *
  9.  *  Derived from "include/asm-i386/hardirq.h"
  10.  */
  11.  
  12. #ifndef __ASM_HARDIRQ_H
  13. #define __ASM_HARDIRQ_H
  14.  
  15. #include <linux/threads.h>
  16. #include <linux/sched.h>
  17. #include <linux/cache.h>
  18. #include <linux/interrupt.h>
  19. #include <asm/lowcore.h>
  20.  
  21. /* irq_cpustat_t is unused currently, but could be converted
  22.  * into a percpu variable instead of storing softirq_pending
  23.  * on the lowcore */
  24. typedef struct {
  25.     unsigned int __softirq_pending;
  26. } irq_cpustat_t;
  27.  
  28. #define local_softirq_pending() (S390_lowcore.softirq_pending)
  29.  
  30. #define __ARCH_IRQ_STAT
  31. #define __ARCH_HAS_DO_SOFTIRQ
  32.  
  33. #define HARDIRQ_BITS    8
  34.  
  35. void clock_comparator_work(void);
  36.  
  37. static inline unsigned long long local_tick_disable(void)
  38. {
  39.     unsigned long long old;
  40.  
  41.     old = S390_lowcore.clock_comparator;
  42.     S390_lowcore.clock_comparator = -1ULL;
  43.     return old;
  44. }
  45.  
  46. static inline void local_tick_enable(unsigned long long comp)
  47. {
  48.     S390_lowcore.clock_comparator = comp;
  49. }
  50.  
  51. #endif /* __ASM_HARDIRQ_H */
  52.